import { axiosZpz } from "./axiosZpz";

const APIZPZ = {
  // 获取报价单列表
  getQuotationList(id: any) {
    return axiosZpz(`/quotation/list/${id}`, 'GET', {});
  },
  // 获取报价单类型
  getQuotationType() {
    return axiosZpz('/quotation/typo', 'GET', {});
  },
  // 获取分类列表（一级、二级、三级）
  getCategorys() {
    return axiosZpz('/types', 'GET', {});
  },
  // 获取机型列表
  getModelByCatrgoryId(id: any, pageNum: number, pageSize = 20) {
    return axiosZpz(`/types/models/${id}?pageNum=${pageNum}&pageSize=${pageSize}`, 'GET', {});
  },
  // 首页显示机型
  getHomeModel(modelName: string) {
    return axiosZpz('/model/home', 'GET', { modelName });
  },
  // 分类显示机型
  getCategoryModel(modelName: string) {
    return axiosZpz('/model/type/home', 'GET', { modelName });
  },
  // 模糊搜索机型
  fuzzyModelSearch(pageNum: number, modelName: string) {
    return axiosZpz(`/model/search/${pageNum}`, 'GET', { modelName });
  },
  // 获取型号估价模版
  getModelEvaluate(id: any) {
    return axiosZpz(`/mould/question/${id}`, 'GET', {});
  },
  // 获取型号估价
  getEvaluate(data: any) {
    return axiosZpz(`/mould`, 'GET', data);
  },
  // 登录
  login(phone: any, code: any) {
    return axiosZpz(`/user/login`, 'POST', { phone, code });
  },
  // 获取手机号
  getPhone(code: any) {
    return axiosZpz(`/user/phone`, 'GET', { code });
  },
  /** 下单
   * @param evalId 估价id 
   * @param logistics  apptime快递取件时间 exparea地区 expdtl详细地址 lnker联系人 lnktel用户电话
   * @param modelId 机型id 
   * @param orderWay 下单方式：1、估价下单 2、批量下单
   * @param padNum 平板数量
   * @param phoneNum 手机数量
  }, 
   */
  placeOrder(data: any) {
    return axiosZpz(`/order`, 'POST', data);
  },
  // 取消订单
  cancelOrder(id: any) {
    return axiosZpz(`/order/${id}`, 'DELETE', {});
  },
  // 绑定收款信息 id  payacc payname
  bindPayee(id: any, payacc: any, payname: any) {
    return axiosZpz(`/order/payInfo/${id}`, 'POST', {
      payacc,
      payname
    });
  },
  /** 获取订单列表 
   * @param pageNum 页码1开始
   * @param orderStatus 订单状态 0全部 1进行中 2已完成 3已关闭
   */
  getOrderList(pageNum: number, orderStatus: number) {
    return axiosZpz(`/order/${pageNum}`, 'GET', { orderStatus });
  },
  // 获取订单详情
  getOrderDetail(id: any) {
    return axiosZpz(`/order/detail/${id}`, 'GET', {});
  },
  // 获取估价详情
  getEvaluateDetail(id: any) {
    return axiosZpz(`/order/eval/${id}`, 'GET', {});
  },
  // 获取快递轨迹信息
  expressTrack(orderId: any, expno: any) {
    return axiosZpz(`/order/sf/route`, 'GET', { orderId, expno });
  },
  // 立即拿钱
  collectMoney(id: any) {
    return axiosZpz(`/order/applyPay/${id}`, 'POST', {});
  },
  // 申请再次打款
  payAgain(id: any) {
    return axiosZpz(`/order/payAgain/${id}`, 'POST', {});
  },
  // 质检列表
  getQualityList(id: any) {
    return axiosZpz(`/order/${id}/phoneCheck`, 'GET', {});
  },
  // 质检详情
  getQualityDetail(id: any, qualityId: any) {
    return axiosZpz(`/order/${id}/phoneCheck/${qualityId}`, 'GET', {});
  },
  // 设置退货地址 type=1增加退货地址 type=2用户确认交易时不卖了
  setReturnAddress(id: any, orderLogisticsAddForm: any, type: any) {
    const url = type * 1 === 1 ? `/order/backInfo/${id}` : `/order/backSell/${id}`;
    return axiosZpz(url, 'POST', orderLogisticsAddForm);
  },
  /** 获取揽件时间
   * @param exparea 用户快递地区，示例：广东省##深圳市##南山区
   * @param expdtl 用户详情街道地址，示例：测试路 11 号 xxx房间 
   */
  getPickUpTime(exparea: string, expdtl: string) {
    return axiosZpz(`/order/sf/expTime`, 'POST', {
      exparea,
      expdtl
    });
  },
  // 获取地址列表
  getAddressList() {
    return axiosZpz(`/userAddress`, 'GET', {});
  },
  /** 添加地址
   * defaultFlag (integer, optional): 是否默认 0不默认 1默认 ,
   * exparea (string, optional): 用户快递地区，示例：广东省@深圳市@南山区 ,
   * expcode (string, optional): 地址code ,
   * expdtl (string, optional): 用户详情街道地址，示例：测试路 99 号 104 房间 ,
   * lnker (string, optional): 用户名称 ,
   * lnktel (string, optional): 用户手机号
   */
  editAddress(data: any) {
    const url = data.id ? '/userAddress/update' : '/userAddress'
    return axiosZpz(url, 'POST', data);
  },
  // 地址详情
  getAddressDetail(id: any) {
    return axiosZpz(`/userAddress/${id}`, 'GET', {});
  },
  // 删除地址
  deleteAddress(id: any) {
    return axiosZpz(`/userAddress/${id}`, 'DELETE', {});
  },
}
export default APIZPZ;